在分布式模式下启动 Drill

在分布式模式下使用 Drill,你首先需要启动 Drillbit 在集群的每个节点上。启动 Drillbit 之前尝试连接一个客户端。使用 drillbit.sh 命令启动 Drillbit 服务。

  1. 注意:如果你使用的是嵌入模式,不需要使用 drillbit.sh 命令

使用 drillbit.sh 命令

除了启动 Drillbit 外,你使用 drillbit.sh 命令可以执行其他的任务:

  • 检查 Drillbit 的状态
  • 停止或重启 Drillbit
  • 配置默认重启 Drillbit

你可以使用配置文件去启动 Drillbit。使用这样的文件处理来控制多个节点上的 Drillbit。

drillbit.sh 命令语法

  1. drillbit.sh [--config <conf-dir>] (start|stop|status|restart|autorestart)

例如,重启一个 Drillbit,先定位到该 Drill 的安装目录。然后在安装目录输入以下命令:

  1. bin/drillbit.sh restart

启动 Drill 终端

使用 Drill 的终端,你可以使用 SQL 命令去查询已连接的数据源。为了启动 Drill 终端,你需要运行以下脚本,该脚本位于 Drill 安装的 bin 目录下:

  • drill-conf打开 Drill 的终端,在 <installation directory>/conf 中,使用连接到指定 drill-override.conf 文件中的 ZooKeeper 节点信息。
  • drill-localhost打开 Drill 终端,使用本机的 host 连接 ZooKeeper。

当你启动 Drill 终端时,会出现 Drill 提示。

在集群中运行以下命令去做查询:

  1. 0: jdbc:drill:zk=<zk1host>:<port> SELECT * FROM sys.drillbits;

Drill 列出的信息是关于 Drillbit 的运行情况,例如 主机名和数据端口号。

连接 Drill

使用自定义连接 Drill,不修改 drill-conf 中的连接字符串,就会使用通常的连接,在打开的 Drill 终端上使用 sqlline。例如,使用一个特定的存储插件作为一个 Schema,使用如下语法:

  1. sqlline u jdbc:drill:[schema=<storage plugin>;]zk=<zk name>[:<port>][,<zk name2>[:<port>]... ]

sqlline 参数和连接参数

  • -u 字符串连接。(必需)
  • jdbc 表示连接类型。(必需)
  • schema 是一个存储插件的名称,用于配置查询。(可选)
  • zk name 指向一个或多个 ZooKeeper 的主机名或 IP 地址。
  • port 代表 ZooKeeper 的端口号。可选。端口号默认为 2181。

例如,打开 Drill 终端默认的 Schema 的 dfs 存储插件:

  1. bin/sqlline u jdbc:drill:schema=dfs;zk=centos26

指定存储插件的配置名称,当你启动时,无需输入 USE <schema name> 或指定使用 FROM 语法。

在 Drill 终端上,使用下面的命令去连接 ZooKeeper 的三个节点:

  1. bin/sqlline u jdbc:drill:zk=cento23,centos24,centos26:5181

直接连接 Drillbit

如果你想直接连接 Drillbit 去替代用 ZooKeeper 连接 Drillbit,在连接的 URL 中替换 zk=<zk name>drillbit=<node>

  1. jdbc:drill:[schema=<storage plugin>;]drillbit=<node name>[:<port>][,<node name2>[:<port>]...
  2. ]<directory>/<cluster ID>

这里,drillbit=<node name> 指向集群中正在运行的 Drill 中的一个或多个主机名或 IP 地址。

退出 Drill

使用以下命令,退出 Drill 终端:

  1. !quit

停止 Drill

定位到 Drill 的安装目录,然后使用以下命令停止 Drillbit:

  1. bin/drillbit.sh stop